A feature-based or history-based computer aided design (CAD) system preserves the steps or history of how a three-dimensional (3D) model or part is created as a sequence of design features by recording the input parameters of each of such features. This recordation allows the user, designer or engineer the capability to return to a previously created 3D model and make changes to one or more of those features. The CAD system updates the model automatically by propagating these changes to any subsequent feature that depends on the changed feature(s).
In free-form applications, designers often manipulate the control points of Non-Uniform Rational B-spline (NURBS) surfaces as part of modeling workflow. Aesthetic objectives such as shape, curvature flow, and control points are of higher concern than the precise values of the control point positions. The storage of control points directly as feature parameters does not suit the purpose of capturing the design intent of the control point manipulations, because it reacts unpredictably to geometry changes of parent features, or does not react at all. “Design intent” is commonly understood in the art to be the intellectual arrangement of model features that may include dimensions, for example. Design intent governs the relationship between features in a part and parts in and among assemblies that can also include components, all of which are commonly understood in the art.
Additionally, when the NURBS surface of the parent feature has changed, the degree, number of patches (known sequences), and number of control points (poles) of an associated child surface can also change. This makes the direct storing of the altered control points as feature parameters of a control-point-manipulation feature meaningless. Even if the geometry of the parent NURBS surface has not changed it can have different representation and, a different degree, known sequence, and control points.
The inventors have advantageously recognized a need for a system and method to preserve the design integrity control-point manipulation when parent geometry has changed that does not rely on the particular representation of the parent NURBS surface.